\indent El trabajo pr\'actico consiste en la implementaci\'on de un pequeño Sistema Operativo que de soporte para que corra una version del juego Infecci\'on. El desarrollo se baso en una serie de ejercicios que sirvieron como pautas de ordenamiento para la implementaci\'on del sistema. \\

\indent Los ejercicios estaban enfocados en la implementaci\'on del SO a trav\'es de ciertas etapas espec\'ificas para el funcionamiento del sistema.\\

\indent Las etapas desarrollados son: \\

\begin{itemize}
	\item Tabla de Descriptores Globales (GDT): Armamos la tabla GDT con los segmentos especificados, dos segmentos de codigo nivel 0, 2 y 3 y dos segmentos de datos nivel 0, 2 y 3; que direccionan los primeros 2 GB de memoria.
Tambi\'en completamos el codigo necesario para pasar a modo protegido y setear la pila del kernel en la direcci\'on 0x20000. Implementamos una rutina que limpie la pantalla e imprima en pantalla usando un segmento adicional que describa el \'area de memoria.

	\item Tabla de IDT: Armamos la tabla correspondiente a IDT, y posteriormente las rutinas de atencion de interrupciones.

	\item Inicializaci\'on de Directorio: Creamos e inicializamos el directorio de p\'aginas y las tablas de pagina para el Kernel, se utilizo identity mapping para el mapeo de las paginas. Y activamos paginaci\'on. Adem\'as creamos una rutina que imprime el nombre el grupo en pantalla.

	\item MMU: Escribimos una rutina para iniciar la MMu, y las funciones necesarias para limpiar el mapa de memoria. Ademas de la rutina para inicializar el directorio y tabla de paginas y las rutinas encargadas del mapeo/desmapeo de paginas.

	\item Completar IDT: Escribimos las rutinas de atenci\'on de interrupciones del reloj, teclado y servicio 0x80 y 0x90. Adem\'a se cambi\'o el handler de las otras interrupciones para que si la tarea asociada a un jugador genera una excepeci\'on, esta sea eliminada.

	\item TSS: Armamos la tabla y completamos las entradas del arreglo de la TSS, y completamos en la GDT los selectores de todas las t\'areas (en total definimos 7 entradas); adem\'as de escribir la rutina encargada de su ejecuci\'on

	\item Scheduler: Inicializamos el scheduler y las rutinas necesarias para el intercambio de tareas. Ademas modificamos la rutina de atencion de interrupciones 0x80 y 0x90 para que implemente los servicios del sistema y las otras rutinas del procesador para que impriman la excepcion por pantalla y desalojen la tarea que las gener\'o.

\end{itemize}
